﻿namespace MarriageFertility.Texts;

using TaleWorlds.Localization;

public static class MarriageText
{
    public static TextObject NoHeroAvailableText =>
        new TextObject("{=MF_NoHeroAvailableText}No hero is available for this conversation.");

    public static TextObject ClanNotInKingdomText =>
        new TextObject("{=MF_ClanNotInKingdomText}The hero's clan must not be part of a kingdom.");
    public static TextObject NoEligibleSpouseText =>
        new TextObject("{=MF_NoEligibleSpouseText}This hero has no eligible spouse.");

    public static TextObject SpouseRelationBelowNegative20Text =>
        new TextObject("{=MF_SpouseRelationBelowNegative20Text}The hero's relationship with their spouse must be below -20.");

    public static TextObject Require70AffectionForSpouseText =>
        new TextObject("{=MF_Require70AffectionForSpouseText}You need at least 70 affection with {HERO_NAME} to marry their spouse.");

    public static TextObject CanMarrySpouseText =>
        new TextObject("{=MF_CanMarrySpouseText}You can marry {HERO_NAME}'s spouse.");
    
    public static TextObject MarryRequestText => new TextObject("{=MF_MarryRequestText}Will you marry me?");
    public static TextObject MarryResponseYesText => new TextObject("{=MF_MarryResponseYesText}I do");

    public static TextObject MarryResponseNoText =>
        new TextObject("{=MF_MarryResponseNoText}Sorry, you're a good person (affection less than 50)");

    public static TextObject SetFemaleSpouseRequestText =>
        new TextObject("{=MF_SetFemaleSpouseRequestText}I want you to be my wife");

    public static TextObject SetMaleSpouseRequestText =>
        new TextObject("{=MF_SetMaleSpouseRequestText}I want you to be my husband");

    public static TextObject SetMainHeroSpouseResponseText =>
        new TextObject("{=MF_SetMainHeroSpouseResponseText}I will serve you well");

    public static TextObject ChanceToLiveText => new TextObject("{=MF_ChanceToLiveText}I give you a chance to live");
    public static TextObject WhatChanceText => new TextObject("{=MF_WhatChanceText}What chance?");

    public static TextObject BecomeMyWifeText =>
        new TextObject("{=MF_BecomeMyWifeText}Become my wife, and I won't kill you");

    public static TextObject BecomeMyHusbandText =>
        new TextObject("{=MF_BecomeMyHusbandText}Become my husband, and I won't kill you");

    public static TextObject WillingToBeWifeText =>
        new TextObject("{=MF_WillingToBeWifeText}My lord, I am willing to be your wife");

    public static TextObject JoinMyClanText => new TextObject("{=MF_JoinMyClanText}Join my clan");

    public static TextObject WillingToBeSwordText =>
        new TextObject("{=MF_WillingToBeSwordText}Alright, I am willing to be the sword in your hands.");

    public static TextObject RefuseToSurrenderText =>
        new TextObject("{=MF_RefuseToSurrenderText}I'd rather die than surrender! (affection needs to be over 30)");
    public static TextObject AgreeJoinOtherClanText => new TextObject("{=MF_AgreeJoinOtherClanText}No matter which clan, I hope to serve you.");
    public static TextObject DenyJoinOtherClanText => new TextObject("{=MF_DenyJoinOtherClanText}Dream on, I will not betray my clan.");
    public static TextObject MarryYourWifeText=> new TextObject("{=MF_MarryYourWifeText}Marry your wife to me");

    public static TextObject AgreeMarrySpouseText =>
        new TextObject("{=MF_AgreeMarrySpouseText}I agree, please take good care of her");

    public static TextObject RefuseMarrySpouseText =>
        new TextObject(
            "{=MF_RefuseMarrySpouseText}You despicable thief, I will never agree! (affection needs to be over 50 or their relationship with the wife is below 0)");

    public static TextObject MarryYourExSpouseText =>
        new TextObject("{=MF_MarryYourExSpouseText}Marry your concubine to me");

    public static TextObject AgreeMarryExSpouseText =>
        new TextObject("{=MF_AgreeMarryExSpouseText}It would be her honor, please kindly accept her");

    public static TextObject VaseNotForBanditText =>
        new TextObject(
            "{=MF_VaseNotForBanditText}Even if it's just a vase, I wouldn't give it to a villain like you! (affection needs to be over 20 or their relationship with the concubine is below 0)");

    public static TextObject MarryLordDaughterRequestText =>
        new TextObject("{=MF_MarryLordDaughterRequestText}I wish to be your son-in-law");

    public static TextObject MarryDaughterSuccessText =>
        new TextObject(
            "{=MF_MarryDaughterSuccessText}My daughter has been fond of you for a long time, how could I disagree");

    public static TextObject MarryDaughterFailText =>
        new TextObject(
            "{=MF_MarryDaughterFailText}Do you think I would marry my daughter to a freak? (affection needs to be over 70 or their relationship with the daughter is below 30)");

    public static TextObject MarryMotherRequestText =>
        new TextObject("{=MF_MarryMotherRequestText}I want to be your stepfather, to give you a warm home");

    public static TextObject MarryMotherSuccessText => new TextObject("{=MF_MarryMotherSuccessText}Okay, daddy");

    public static TextObject MarryMotherFailedText =>
        new TextObject(
            "{=MF_MarryMotherFailedText}You pervert, I will never acknowledge a thief as my father! (affection needs to be over 85)");

    public static TextObject AskMarryElderSisterText =>
        new TextObject("{=MF_AskMarryElderSisterText}I want to be your brother-in-law");

    public static TextObject MarryElderSisterSuccessText =>
        new TextObject("{=MF_MarryElderSisterSuccessText}Brother-in-law, please take good care of me");

    public static TextObject MarryElderSisterFailedText =>
        new TextObject(
            "{=MF_MarryElderSisterFailedText}Do you think you're worthy of my sister? (affection needs to be over 35)");

    public static TextObject AskMarryLitterSisterText =>
        new TextObject("{=MF_AskMarryLitterSisterText}I want to be your brother-in-law");

    public static TextObject MarryLitterSisterSuccessText =>
        new TextObject("{=MF_MarryLitterSisterSuccessText}If you dare to bully my sister, I'll kill you!");

    public static TextObject MarryProposalRejectedText =>
        new TextObject(
            "{=MF_MarryProposalRejectedText}You should take a look in the mirror first (affection needs to be over 35)");
    public static TextObject AskJoinOtherClanText=>new TextObject("{=MF_AskJoinOtherClanText}加入一个家族...");
    public static TextObject AskMarryClanMemberText =>
        new TextObject("{=MF_AskMarryClanMemberText}Marry a member of my clan");

    public static TextObject WhoToMarryQuestionText =>
        new TextObject("{=MF_WhoToMarryQuestionText}May I ask who you wish me to marry?");

    public static TextObject NothingToSayText => new TextObject("{=MF_NothingToSayText}Nevermind...");
    public static TextObject DoNotWasteMyTimeText => new TextObject("{=MF_DoNotWasteMyTimeText}Don't waste my time!");

    public static readonly TextObject MarriageMemberSelection =
        new TextObject("{=MF_MarriageMemberSelection}Marriage Member Selection");

    public static readonly TextObject
        SelectMarriageCandidates = new TextObject("{=MF_SelectMarriageCandidates}Select Marriage Candidates");      

    public static TextObject EnableCompetitionQuest = new TextObject("{=MF_CloseCompetitionQuest}Enable Competition Quest");

    public static TextObject CompetitorMaleInfo = new TextObject("{=MF_CompetitorMaleInfo}His name is {heroName}, don't be too hard on him");

    public static TextObject CompetitorFeMaleInfo = new TextObject("{=MF_CompetitorFeMaleInfo}Her name is {heroName}, don't be too hard on her");

    public static TextObject RequestDivorceText => new TextObject("{=MF_RequestDivorce}Let's get a divorce");

    public static TextObject AskPlayerAboutDivorceText => new TextObject("{=MF_AskPlayerAboutDivorce}Don't you love me anymore? Are you really that cruel?");

    public static TextObject ConfirmDivorceYesText => new TextObject("{=MF_ConfirmDivorceYes}Yes, I don't have feelings for you anymore.");

    public static TextObject ConfirmDivorceNoText => new TextObject("{=MF_ConfirmDivorceNo}No, I was wrong, I promised to protect you for life.");

    public static TextObject LordAcceptsDivorceText => new TextObject("{=MF_LordAcceptsDivorceText}Alright, alright, let's go our separate ways.");

    public static TextObject LordRejectsDivorceText => new TextObject("{=MF_LordRejectsDivorceText}Then I'll give you one more chance.");
    
    public static TextObject AskShowEquipmentText =>
        new TextObject("{=MF_AskShowEquipmentText}Take off your gear and give it to me, then I’ll let you go.");

    public static TextObject ShowEquipmentResponseText =>
        new TextObject("{=MF_ShowEquipmentResponseText}Alright, here is my equipment.");

    public static TextObject AskBeGoodText =>
        new TextObject("{=MF_AskBeGoodText}I’ll let you live. Be a better person from now on (removes one negative trait).");

    public static TextObject BeGoodResponseText =>
        new TextObject("{=MF_BeGoodResponseText}Thank you, you are a kind person.");

    public static TextObject AskPayRansomText =>
        new TextObject("{=MF_AskPayRansomText}You've paid the ransom, now you may leave.");

    public static TextObject PayRansomResponseText =>
        new TextObject("{=MF_PayRansomResponseText}Here's the ransom. Can I go now?");
    
    
    public static TextObject AskEntertainMeText =>
        new TextObject("{=MF_AskEntertainMeText}If you want me to let you go, you need to entertain me.");

    public static TextObject EntertainResponseText =>
        new TextObject("{=MF_EntertainResponseText}Shameless, but only this once!");
    
    public static TextObject Require50AffectionToMarryText =>
        new TextObject("{=MF_Require50AffectionToMarryText}You need at least 50 affection with {HERO_NAME} to propose marriage.");
    
    
    public static TextObject WillingToMarryText =>
        new TextObject("{=MF_WillingToMarryText}{HERO_NAME} is willing to marry you.");
    
    
    public static TextObject NoEligibleExSpouseText =>
        new TextObject("{=MF_NoEligibleExSpouseText}This hero has no eligible ex-spouse.");

    public static TextObject ExSpouseRelationBelowNegative20Text =>
        new TextObject("{=MF_ExSpouseRelationBelowNegative20Text}The hero's relationship with their ex-spouse must be below -20.");

    public static TextObject Require50AffectionForExSpouseText =>
        new TextObject("{=MF_Require50AffectionForExSpouseText}You need at least 50 affection with {HERO_NAME} to marry their ex-spouse.");
    
    
    public static TextObject CanMarryExSpouseText =>
        new TextObject("{=MF_CanMarryExSpouseText}You can marry {HERO_NAME}'s ex-spouse.");
    
    
    public static TextObject NoEligibleDaughtersText =>
        new TextObject("{=MF_NoEligibleDaughtersText}This hero has no eligible daughters.");

    public static TextObject DaughterRelationBelow30Text =>
        new TextObject("{=MF_DaughterRelationBelow30Text}The hero's relationship with their daughter must be below 30.");

    public static TextObject Require80AffectionForDaughterText =>
        new TextObject("{=MF_Require80AffectionForDaughterText}You need at least 80 affection with {HERO_NAME} to marry their daughter.");  
    
    public static TextObject CanMarryDaughterText =>
        new TextObject("{=MF_CanMarryDaughterText}You can marry {HERO_NAME}'s daughter.");
    
    
    public static TextObject NoLivingMotherText =>
        new TextObject("{=MF_NoLivingMotherText}This hero has no living mother.");

    public static TextObject Require90AffectionForMotherText =>
        new TextObject("{=MF_Require90AffectionForMotherText}You need at least 90 affection with {HERO_NAME} to marry their mother.");

    public static TextObject CanMarryMotherText =>
        new TextObject("{=MF_CanMarryMotherText}You can marry {HERO_NAME}'s mother.");
    
    
    public static TextObject NoEligibleElderSisterText =>
        new TextObject("{=MF_NoEligibleElderSisterText}This hero has no eligible elder sister.");

    public static TextObject Require60AffectionForElderSisterText =>
        new TextObject("{=MF_Require60AffectionForElderSisterText}You need at least 60 affection with {HERO_NAME} to marry their elder sister.");

    public static TextObject CanMarryElderSisterText =>
        new TextObject("{=MF_CanMarryElderSisterText}You can marry {HERO_NAME}'s elder sister.");
    
    
    public static TextObject NoEligibleYoungerSisterText =>
        new TextObject("{=MF_NoEligibleYoungerSisterText}This hero has no eligible younger sister.");

    public static TextObject Require60AffectionForYoungerSisterText =>
        new TextObject("{=MF_Require60AffectionForYoungerSisterText}You need at least 60 affection with {HERO_NAME} to marry their younger sister.");

    public static TextObject CanMarryYoungerSisterText =>
        new TextObject("{=MF_CanMarryYoungerSisterText}You can marry {HERO_NAME}'s younger sister.");
    
    
    public static TextObject Require30AffectionForOtherClanText =>
        new TextObject("{=MF_Require30AffectionForOtherClanText}You need at least 30 affection with {HERO_NAME} to propose they join another clan.");

    public static TextObject WillingToJoinOtherClanText =>
        new TextObject("{=MF_WillingToJoinOtherClanText}{HERO_NAME} is willing to consider joining another clan.");
    
    
    public static TextObject Require30AffectionForClanText =>
        new TextObject("{=MF_Require30AffectionForClanText}You need at least 30 affection with {HERO_NAME} to invite them to your clan.");

    public static TextObject WillingToJoinClanText =>
        new TextObject("{=MF_WillingToJoinClanText}{HERO_NAME} is willing to join your clan.");
    
    
    public static TextObject EquipmentGainedText =>
        new TextObject("{=MF_EquipmentGainedText}You have obtained {HERO_NAME}'s equipment!");

}